<?php //
include_once("Conexion.php");

//Declaracion
class M_SubRubro {
    //Variable de la clase
    private $id_SubRubro;
    private $id_Rubro;
    private $nombre;
    private $imagen;
    private $usuCreac;
    private $usuModif;
    
    //Metodo utilizado para obtener todos los Roles
    function searchSubRubroxRubro($codigo) {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT * FROM tbl_sub_rubro where id_rubro = $codigo and eliminado=false";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    //V_PRODUCTO_I
    function searchSubRubro_All() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT sr.id_sub_rubro, sr.nombre as subrubro, sr.imagen as imagensubrubro, 
            sr.id_rubro, r.nombre as rubro, r.imagen as imagenrubro
            FROM tbl_sub_rubro sr 
            inner join tbl_rubro r on sr.id_rubro = r.id_rubro
            where sr.eliminado = false ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    //Metodo utilizado para obtener un Rol
    function searchSubRubro() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " select * from tbl_sub_rubro
            where id_sub_rubro = $this->id_SubRubro and eliminado = false ";
      
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
           // pg_free_result($rs);
            pg_close($cn);
    
        return $registros;
    }
    //V_Producto_U
    function searchSubRubro_PorRubro() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " select * from tbl_sub_rubro
        where id_rubro = $this->id_Rubro and eliminado = false ";
      
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
           // pg_free_result($rs);
            pg_close($cn);
    
        return $registros;
    }
    
    //Metodo utilizado para insertar una Rol en la base de datos
    function insertSubRubro() {
       
      
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //  pg_query($cn,"BEGIN");
            //Elaboramos la sentencia
            $sql = " INSERT INTO tbl_sub_rubro(nombre, imagen, id_rubro, creadopor, creacion, eliminado)
            values ('$this->nombre', '$this->imagen', $this->id_Rubro, '$this->usuCreac', now(),  false) ";
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
              //  pg_query($cn,"ROLLBACK");
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
               // pg_query($cn,"COMMIT");
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        return $rpta;
    }
    
    //Metodo utilizado para actualizar un ROL
    function updateSubRubro() {

            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
            $sql = " update tbl_sub_rubro 
            set nombre = '$this->nombre', 
            actualizadopor = '$this->usuModif', 
            id_rubro = $this->id_Rubro,
            imagen = '$this->imagen',
            actualizado = now() 
            where id_sub_rubro = $this->id_SubRubro ";
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
           
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
            //    mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
              //  mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        
        return $rpta;
    }
    //metodo utilizado para eliminar un rol
     function deleteSubRubro() {

            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
           $sql = " update tbl_sub_rubro set eliminado = true  where id_sub_rubro = $this->id_SubRubro ";
          
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
           
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
            //    mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
              //  mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        
        return $rpta;
    }
    //Get y Set de la clase
    
    function getIdRubro() {
        return $this->id_Rubro;
    }
    
    
    function setIdSubRubro($id_rubro) {
        $this->id_SubRubro = $id_rubro;
    }
    
    function setIdRubro($id_rubro) {
        $this->id_Rubro = $id_rubro;
    }
    
    function setNombre($nombre) {
        $this->nombre = $nombre;
    }
    
    function setUsuCreac($usuario) {
        $this->usuCreac = $usuario;
    }
    
    function setUsuModif($usuario) {
        $this->usuModif = $usuario;
    }
    
    function setImagen($imagen) {
        $this->imagen = $imagen;
    }
}
?>